home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / MCC_TheBar / Developer / C / Include / MUI / TheBar_mcc.h
Encoding:
C/C++ Source or Header  |  2004-01-31  |  19.4 KB  |  392 lines

  1. #ifndef THEBAR_MCC_H
  2. #define THEBAR_MCC_H
  3.  
  4. /*
  5. **  $VER: TheBar_mcc.h 16.1 (27.1.2004)
  6. **  Includes Release 16.1
  7. **
  8. **  (C) Copyright 2003-2004 Alfonso [alfie] Ranieri <alforan@tin.it>
  9. **      All rights reserved
  10. */
  11.  
  12. #ifndef LIBRARIES_MUI_H
  13. #include <libraries/mui.h>
  14. #endif
  15.  
  16. /***********************************************************************/
  17.  
  18. #define MUIC_TheButton  "TheButton.mcc"
  19. #define TheButtonObject MUI_NewObject(MUIC_TheButton
  20.  
  21. #define MUIC_TheBar  "TheBar.mcc"
  22. #define TheBarObject MUI_NewObject(MUIC_TheBar
  23.  
  24. #define MUIC_TheBarVirt  "TheBarVirt.mcc"
  25. #define TheBarVirtObject MUI_NewObject(MUIC_TheBarVirt
  26.  
  27. #define THEBAR_VERSION     16
  28. #define THEBARVIRT_VERSION 16
  29. #define THEBUTTON_VERSION  16
  30.  
  31. /***********************************************************************/
  32.  
  33. #define TBUTTAGBASE 0xF76B01C8
  34. #define TBTAGBASE   0xF76B022C
  35.  
  36. /***********************************************************************/
  37. /*
  38. ** TheButton.mcc Attributes
  39. */
  40.  
  41. #define MUIA_TheButton_MinVer              (TBUTTAGBASE+0)   /* v11  ULONG,                         [I...]    */
  42. #define MUIA_TheButton_TheBar              (TBUTTAGBASE+4)   /* v11  Object *,                      [ISG.]    */
  43. #define MUIA_TheButton_Image               (TBUTTAGBASE+5)   /* v11  struct MUIS_TheBar_Brush  *,   [I...]    */
  44. #define MUIA_TheButton_Label               (TBUTTAGBASE+6)   /* v11  STRPTR,                        [I...]    */
  45. #define MUIA_TheButton_InVirtgroup         (TBUTTAGBASE+7)   /* v11  BOOL,                          [I...]    */
  46. #define MUIA_TheButton_ViewMode            (TBUTTAGBASE+8)   /* v11  ULONG,                         [ISGN]    */
  47. #define MUIA_TheButton_Borderless          (TBUTTAGBASE+9)   /* v11  BOOL,                          [I...]    */
  48. #define MUIA_TheButton_Raised              (TBUTTAGBASE+10)  /* v11  BOOL,                          [ISGN]    */
  49. #define MUIA_TheButton_Sunny               (TBUTTAGBASE+11)  /* v11  BOOL,                          [I...]    */
  50. #define MUIA_TheButton_Scaled              (TBUTTAGBASE+12)  /* v11  BOOL,                          [ISGN]    */
  51. #define MUIA_TheButton_NoClick             (TBUTTAGBASE+13)  /* v11  BOOL,                          [I...]    */
  52. #define MUIA_TheButton_Toggle              (TBUTTAGBASE+14)  /* v11  BOOL,                          [I...]    */
  53. #define MUIA_TheButton_Immediate           (TBUTTAGBASE+15)  /* v11  BOOL,                          [I...]    */
  54. #define MUIA_TheButton_EnableKey           (TBUTTAGBASE+16)  /* v11  BOOL,                          [ISG.]    */
  55. #define MUIA_TheButton_LabelPos            (TBUTTAGBASE+17)  /* v11  ULONG,                         [ISGN]    */
  56. #define MUIA_TheButton_SelImage            (TBUTTAGBASE+18)  /* v12  struct MUIS_TheBar_Brush  *,   [I...]    */
  57. #define MUIA_TheButton_DisImage            (TBUTTAGBASE+19)  /* v12  struct MUIS_TheBar_Brush  *,   [I...]    */
  58. #define MUIA_TheButton_HorizTextGfxSpacing (TBUTTAGBASE+20)  /* v12  ULONG,                         [I...]    */
  59. #define MUIA_TheButton_VertTextGfxSpacing  (TBUTTAGBASE+21)  /* v12  ULONG,                         [I...]    */
  60. #define MUIA_TheButton_HorizInnerSpacing   (TBUTTAGBASE+22)  /* v12  ULONG,                         [I...]    */
  61. #define MUIA_TheButton_TopInnerSpacing     (TBUTTAGBASE+23)  /* v12  ULONG,                         [I...]    */
  62. #define MUIA_TheButton_BottomInnerSpacing  (TBUTTAGBASE+24)  /* v12  ULONG,                         [I...]    */
  63. #define MUIA_TheButton_Precision           (TBUTTAGBASE+25)  /* v12  ULONG,                         [I...]    */
  64. #define MUIA_TheButton_Event               (TBUTTAGBASE+26)  /* v12  ULONG,                         [I...]    */
  65. #define MUIA_TheButton_Scale               (TBUTTAGBASE+27)  /* v12  ULONG,                         [I...]    */
  66. #define MUIA_TheButton_DisMode             (TBUTTAGBASE+28)  /* v12  ULONG,                         [I...]    */
  67. #define MUIA_TheButton_SpecialSelect       (TBUTTAGBASE+29)  /* v12  BOOL,                          [I...]    */
  68. #define MUIA_TheButton_TextOverUseShine    (TBUTTAGBASE+30)  /* v12  BOOL,                          [I...]    */
  69. #define MUIA_TheButton_IgnoreSelImages     (TBUTTAGBASE+31)  /* v12  BOOL,                          [I...]    */
  70. #define MUIA_TheButton_IgnoreDisImages     (TBUTTAGBASE+32)  /* v12  BOOL,                          [I...]    */
  71. #define MUIA_TheButton_Strip               (TBUTTAGBASE+33)  /* v13  struct MUIS_TheBar_Strip *,    [I...]    */
  72. #define MUIA_TheButton_DontMove            (TBUTTAGBASE+34)  /* v15  BOOL,                          [I...]    */
  73.  
  74. /***********************************************************************/
  75. /*
  76. ** TheButton.mcc Attributes values
  77. */
  78.  
  79. /* MUIA_TheButton_ViewMode */
  80. enum
  81. {
  82.     MUIV_TheButton_ViewMode_TextGfx,
  83.     MUIV_TheButton_ViewMode_Gfx,
  84.     MUIV_TheButton_ViewMode_Text,
  85.  
  86.     MUIV_TheButton_ViewMode_Last
  87. };
  88.  
  89. /* MUIA_TheButton_LabelPos */
  90. enum
  91. {
  92.     MUIV_TheButton_LabelPos_Bottom,
  93.     MUIV_TheButton_LabelPos_Top,
  94.     MUIV_TheButton_LabelPos_Right,
  95.     MUIV_TheButton_LabelPos_Left,
  96.  
  97.     MUIV_TheButton_LabelPos_Last
  98. };
  99.  
  100. /***********************************************************************/
  101. /*
  102. ** TheButton.mcc Misc
  103. */
  104.  
  105. /* MUIA_TheButton_Label max size */
  106. #define TB_MAXLABELLEN 32
  107.  
  108. /***********************************************************************/
  109. /*
  110. ** TheBar.mcc Methods
  111. */
  112.  
  113. #define MUIM_TheBar_AddButton       (TBTAGBASE+3)   /* v11         */
  114. #define MUIM_TheBar_GetObject       (TBTAGBASE+5)   /* v11         */
  115. #define MUIM_TheBar_DoOnButton      (TBTAGBASE+6)   /* v11         */
  116. #define MUIM_TheBar_SetAttr         (TBTAGBASE+7)   /* v11         */
  117. #define MUIM_TheBar_GetAttr         (TBTAGBASE+8)   /* v11         */
  118. #define MUIM_TheBar_Clear           (TBTAGBASE+9)   /* v11         */
  119. #define MUIM_TheBar_Sort            (TBTAGBASE+10)  /* v11         */
  120. #define MUIM_TheBar_Remove          (TBTAGBASE+11)  /* v11         */
  121. #define MUIM_TheBar_GetDragImage    (TBTAGBASE+12)  /* v11         */
  122.  
  123. /***********************************************************************/
  124. /*
  125. ** TheBar.mcc Methods structures
  126. */
  127.  
  128. struct MUIP_TheBar_AddButton       { ULONG MethodID; struct MUIS_TheBar_Button *button; };
  129. struct MUIP_TheBar_AddSpacer       { ULONG MethodID; ULONG ID; ULONG type; };
  130. struct MUIP_TheBar_GetObject       { ULONG MethodID; ULONG ID; };
  131. struct MUIP_TheBar_DoOnButton      { ULONG MethodID; ULONG ID; ULONG method; /* ...args... */ };
  132. struct MUIP_TheBar_SetAttr         { ULONG MethodID; ULONG ID; Tag attr; ULONG value; };
  133. struct MUIP_TheBar_GetAttr         { ULONG MethodID; ULONG ID; Tag attr; ULONG *storage; };
  134. struct MUIP_TheBar_Sort            { ULONG MethodID; LONG obj[1]; };
  135. struct MUIP_TheBar_Remove          { ULONG MethodID; ULONG ID; };
  136. struct MUIP_TheBar_GetDragImage    { ULONG MethodID; ULONG horiz; ULONG flags; };
  137.  
  138. /* MUIM_TheBar_SetAttr, MUIM_TheBar_GetAttr attr */
  139. #define MUIV_TheBar_Attr_Hide      (TBTAGBASE+0) /* v11 */
  140. #define MUIV_TheBar_Attr_Sleep     (TBTAGBASE+1) /* v11 */
  141. #define MUIV_TheBar_Attr_Disabled  (TBTAGBASE+2) /* v11 */
  142. #define MUIV_TheBar_Attr_Selected  (TBTAGBASE+3) /* v11 */
  143.  
  144. /***********************************************************************/
  145. /*
  146. ** TheBar.mcc Attributes
  147. */
  148.  
  149. #define MUIA_TheBar_MinVer                (TBTAGBASE+10)  /* v11 ULONG,                       [I...]   */
  150. #define MUIA_TheBar_Buttons               (TBTAGBASE+11)  /* v11 struct MUIS_TheBar_Button *, [I...]   */
  151. #define MUIA_TheBar_Images                (TBTAGBASE+12)  /* v11 struct MUIS_TheBar_Brush **, [I.G.]   */
  152. #define MUIA_TheBar_Pics                  (TBTAGBASE+13)  /* v11 STRTR *,                     [I...]   */
  153. #define MUIA_TheBar_PicsDrawer            (TBTAGBASE+14)  /* v11 STRTR,                       [I...]   */
  154. #define MUIA_TheBar_ViewMode              (TBTAGBASE+15)  /* v11 UWORD,                       [ISGN]   */
  155. #define MUIA_TheBar_Borderless            (TBTAGBASE+16)  /* v11 BOOL,                        [ISGN]   */
  156. #define MUIA_TheBar_Raised                (TBTAGBASE+17)  /* v11 BOOL,                        [ISGN]   */
  157. #define MUIA_TheBar_Sunny                 (TBTAGBASE+18)  /* v11 BOOL,                        [ISGN]   */
  158. #define MUIA_TheBar_Scaled                (TBTAGBASE+19)  /* v11 BOOL,                        [ISGN]   */
  159. #define MUIA_TheBar_SpacerIndex           (TBTAGBASE+20)  /* v11 UWORD,                       [I.G.]   */
  160. #define MUIA_TheBar_Strip                 (TBTAGBASE+21)  /* v11 STRPTR,                      [I...]   */
  161. #define MUIA_TheBar_StripBrush            (TBTAGBASE+22)  /* v11 STRPTR,                      [I...]   */
  162. #define MUIA_TheBar_EnableKeys            (TBTAGBASE+23)  /* v11 BOOL,                        [IS..]   */
  163. #define MUIA_TheBar_TextOnly              (TBTAGBASE+24)  /* v11 BOOL,                        [..G.]   */
  164. #define MUIA_TheBar_LabelPos              (TBTAGBASE+25)  /* v11 UWORD,                       [ISGN]   */
  165. #define MUIA_TheBar_BarPos                (TBTAGBASE+26)  /* v11 ULONG,                       [ISGN]   */
  166. #define MUIA_TheBar_DragBar               (TBTAGBASE+27)  /* v11 BOOL,                        [ISGN]   */
  167. #define MUIA_TheBar_Frame                 (TBTAGBASE+28)  /* v11 BOOL,                        [ISGN]   */
  168. #define MUIA_TheBar_Limbo                 (TBTAGBASE+29)  /* v11 BOOL,                        [.S..]   */
  169. #define MUIA_TheBar_Active                (TBTAGBASE+30)  /* v11 ULONG,                       [ISGN]   */
  170. #define MUIA_TheBar_Columns               (TBTAGBASE+31)  /* v11 ULONG,                       [ISGN]   */
  171. #define MUIA_TheBar_Rows                  (TBTAGBASE+32)  /* v11 ULONG,                       [ISGN]   */
  172. #define MUIA_TheBar_FreeHoriz             (TBTAGBASE+33)  /* v11 ULONG,                       [ISGN]   */
  173. #define MUIA_TheBar_FreeVert              (TBTAGBASE+34)  /* v11 ULONG,                       [ISGN]   */
  174. #define MUIA_TheBar_Free                  (TBTAGBASE+35)  /* v11 ULONG,                       [ISGN]   */
  175. #define MUIA_TheBar_BarSpacer             (TBTAGBASE+36)  /* v11 ULONG,                       [ISGN]   */
  176. #define MUIA_TheBar_Remove                (TBTAGBASE+37)  /* v11 ULONG,                       [ISGN]   */
  177. #define MUIA_TheBar_AutoSpacerOrient      (TBTAGBASE+38)  /* v11 ULONG,                       [ISGN]   */
  178. #define MUIA_TheBar_SelImages             (TBTAGBASE+39)  /* v12 struct MUIS_TheBar_Brush **, [I.G.]   */
  179. #define MUIA_TheBar_DisImages             (TBTAGBASE+40)  /* v12 struct MUIS_TheBar_Brush **, [I.G.]   */
  180. #define MUIA_TheBar_SelPics               (TBTAGBASE+41)  /* v12 STRTR *,                     [I...]   */
  181. #define MUIA_TheBar_DisPics               (TBTAGBASE+42)  /* v12 STRTR *,                     [I...]   */
  182. #define MUIA_TheBar_SelStrip              (TBTAGBASE+43)  /* v12 STRPTR,                      [I...]   */
  183. #define MUIA_TheBar_DisStrip              (TBTAGBASE+44)  /* v12 STRPTR,                      [I...]   */
  184. #define MUIA_TheBar_SelStripBrush         (TBTAGBASE+45)  /* v12 STRPTR,                      [I...]   */
  185. #define MUIA_TheBar_DisStripBrush         (TBTAGBASE+46)  /* v12 STRPTR,                      [I...]   */
  186. #define MUIA_TheBar_StripRows             (TBTAGBASE+47)  /* v12 ULONG,                       [I...]   */
  187. #define MUIA_TheBar_StripCols             (TBTAGBASE+48)  /* v12 ULONG,                       [I...]   */
  188. #define MUIA_TheBar_StripHorizSpace       (TBTAGBASE+49)  /* v12 ULONG,                       [I...]   */
  189. #define MUIA_TheBar_StripVertSpace        (TBTAGBASE+50)  /* v12 ULONG,                       [I...]   */
  190. #define MUIA_TheBar_HorizSpacing          (TBTAGBASE+51)  /* v12 ULONG,                       [I...]   */
  191. #define MUIA_TheBar_VertSpacing           (TBTAGBASE+52)  /* v12 ULONG,                       [I...]   */
  192. #define MUIA_TheBar_BarSpacerSpacing      (TBTAGBASE+53)  /* v12 ULONG,                       [I...]   */
  193. #define MUIA_TheBar_HorizInnerSpacing     (TBTAGBASE+54)  /* v12 ULONG,                       [I...]   */
  194. #define MUIA_TheBar_TopInnerSpacing       (TBTAGBASE+55)  /* v12 ULONG,                       [I...]   */
  195. #define MUIA_TheBar_BottomInnerSpacing    (TBTAGBASE+56)  /* v12 ULONG,                       [I...]   */
  196. #define MUIA_TheBar_LeftBarFrameSpacing   (TBTAGBASE+57)  /* v12 ULONG,                       [I...]   */
  197. #define MUIA_TheBar_RightBarFrameSpacing  (TBTAGBASE+58)  /* v12 ULONG,                       [I...]   */
  198. #define MUIA_TheBar_TopBarFrameSpacing    (TBTAGBASE+59)  /* v12 ULONG,                       [I...]   */
  199. #define MUIA_TheBar_BottomBarFrameSpacing (TBTAGBASE+60)  /* v12 ULONG,                       [I...]   */
  200. #define MUIA_TheBar_HorizTextGfxSpacing   (TBTAGBASE+61)  /* v12 ULONG,                       [I...]   */
  201. #define MUIA_TheBar_VertTextGfxSpacing    (TBTAGBASE+62)  /* v12 ULONG,                       [I...]   */
  202. #define MUIA_TheBar_Precision             (TBTAGBASE+63)  /* v12 ULONG,                       [I...]   */
  203. #define MUIA_TheBar_Event                 (TBTAGBASE+64)  /* v12 ULONG,                       [I...]   */
  204. #define MUIA_TheBar_Scale                 (TBTAGBASE+65)  /* v12 ULONG,                       [I...]   */
  205. #define MUIA_TheBar_DisMode               (TBTAGBASE+66)  /* v12 ULONG,                       [I...]   */
  206. #define MUIA_TheBar_SpecialSelect         (TBTAGBASE+67)  /* v12 BOOL,                        [I...]   */
  207. #define MUIA_TheBar_TextOverUseShine      (TBTAGBASE+68)  /* v12 BOOL,                        [I...]   */
  208. #define MUIA_TheBar_IgnoreSelImages       (TBTAGBASE+69)  /* v12 BOOL,                        [I...]   */
  209. #define MUIA_TheBar_IgnoreDisImages       (TBTAGBASE+70)  /* v12 BOOL,                        [I...]   */
  210.  
  211. /***********************************************************************/
  212. /*
  213. ** TheBar.mcc Attributes values
  214. */
  215.  
  216. /* MUIA_TheBar_ViewMode */
  217. enum
  218. {
  219.     MUIV_TheBar_ViewMode_TextGfx,
  220.     MUIV_TheBar_ViewMode_Gfx,
  221.     MUIV_TheBar_ViewMode_Text,
  222.  
  223.     MUIV_TheBar_ViewMode_Last
  224.  
  225. };
  226.  
  227. /* MUIA_TheBar_LabelPos */
  228. enum
  229. {
  230.     MUIV_TheBar_LabelPos_Bottom,
  231.     MUIV_TheBar_LabelPos_Top,
  232.     MUIV_TheBar_LabelPos_Right,
  233.     MUIV_TheBar_LabelPos_Left,
  234.  
  235.     MUIV_TheBar_LabelPos_Last,
  236. };
  237.  
  238. /* MUIA_TheBar_BarPos */
  239. enum
  240. {
  241.     MUIV_TheBar_BarPos_Left,
  242.     MUIV_TheBar_BarPos_Center,
  243.     MUIV_TheBar_BarPos_Right,
  244.  
  245.     MUIV_TheBar_BarPos_Last,
  246. };
  247.  
  248. #define MUIV_TheBar_BarPos_Up   MUIV_TheBar_BarPos_Left
  249. #define MUIV_TheBar_BarPos_Down MUIV_TheBar_BarPos_Right
  250.  
  251. /* MUIA_TheBar_Remove */
  252. enum
  253. {
  254.     MUIV_TheBar_Remove_BarSpacers    = 1<<0, /* v11 */
  255.     MUIV_TheBar_Remove_ButtonSpacers = 1<<1, /* v11 */
  256.     MUIV_TheBar_Remove_ImageSpacers  = 1<<2, /* v11 */
  257.  
  258.     MUIV_TheBar_Remove_All           = MUIV_TheBar_Remove_BarSpacers|MUIV_TheBar_Remove_ButtonSpacers|MUIV_TheBar_Remove_ImageSpacers,
  259. };
  260.  
  261. /* MUIA_TheBar_Event */
  262. enum
  263. {
  264.     MUIV_TheBar_Event_IntuiTicks,
  265.     MUIV_TheBar_Event_MouseMove,
  266.  
  267.     MUIV_TheBar_Event_Last,
  268. };
  269.  
  270. /* MUIA_TheBar_Precision */
  271. enum
  272. {
  273.     MUIV_TheBar_Precision_GUI,
  274.     MUIV_TheBar_Precision_Icon,
  275.     MUIV_TheBar_Precision_Image,
  276.     MUIV_TheBar_Precision_Exact,
  277.  
  278.     MUIV_TheBar_Precision_Last,
  279. };
  280.  
  281. /* MUIA_TheBar_DisMode */
  282. enum
  283. {
  284.     MUIV_TheBar_DisMode_Shape,
  285.     MUIV_TheBar_DisMode_Grid,
  286.     MUIV_TheBar_DisMode_FullGrid,
  287.  
  288.     MUIV_TheBar_DisMode_Last,
  289. };
  290.  
  291. #define MUIV_TheBar_SkipPic ((STRPTR)(-1))
  292.  
  293. /***********************************************************************/
  294. /*
  295. ** Structures
  296. */
  297.  
  298. /*
  299. ** MUIA_TheButton_Image is a pointer to this.
  300. ** MUIA_TheBar_Images is an array of pointers to this.
  301. **/
  302. struct MUIS_TheBar_Brush
  303. {
  304.     APTR  data;             /* Source data - actually it may be only a UBYTE *            */
  305.     UWORD dataWidth;        /* Width of data                                              */
  306.     UWORD dataHeight;       /* Height of data                                             */
  307.     UWORD dataTotalWidth;   /* Total width of data                                        */
  308.     UWORD left;             /* Left offset in data of this brush                          */
  309.     UWORD top;              /* Top offset in data of this brush                           */
  310.     UWORD width;            /* Width of this brush                                        */
  311.     UWORD height;           /* Height of this brush                                       */
  312.     ULONG *colors;          /* R,G,B or 0x00RRGGBB ULONG table                            */
  313.     ULONG numColors;        /* Number of colors in colors                                 */
  314.     ULONG trColor;          /* Transparent color number; 0<=trColor<256 !                 */
  315.     ULONG compressedSize;   /* If data is byte run 1 compressed, it is its POSITIVE size  */
  316.     ULONG flags;            /* As it says                                                 */
  317.     ULONG reserved[4];      /* Avoid recompilation                                        */
  318. };
  319.  
  320. enum
  321. {
  322.     BRFLG_ARGB      = 1<<0,
  323.     BRFLG_AlphaMask = 1<<1,
  324.     BRFLG_ColorRGB8 = 1<<2,
  325. };
  326.  
  327. /*
  328. ** MUIA_TheButton_Strip is a pointer to this.
  329. **/
  330. struct MUIS_TheBar_Strip
  331. {
  332.     struct BitMap *normalBM;    /* Normal BitMap        */
  333.     struct BitMap *greyBM;      /* Grey normal BitMap   */
  334.     struct BitMap *mask;        /* Normal mask          */
  335.  
  336.     struct BitMap *snormalBM;   /* Selected BitMap      */
  337.     struct BitMap *sgreyBM;     /* Selected grey BitMap */
  338.     struct BitMap *smask;       /* Selected mask        */
  339.  
  340.     struct BitMap *dnormalBM;   /* Disabled BitMap      */
  341.     struct BitMap *dgreyBM;     /* Grey disabled BitMap */
  342.     struct BitMap *dmask;       /* Grey mask            */
  343. };
  344.  
  345.  
  346. /*
  347. ** MUIA_TheBar_Buttons is an array of this.
  348. */
  349. struct MUIS_TheBar_Button
  350. {
  351.     ULONG         img;     /* Image index                                          */
  352.     ULONG         ID;      /* Button ID                                            */
  353.     STRPTR        text;    /* Button label (max TB_MAXLABELLEN) not copied!        */
  354.     STRPTR        help;    /* Button help not copied!                              */
  355.     ULONG         flags;   /* See below                                            */
  356.     ULONG         exclude; /* Exclude mask                                         */
  357.     struct IClass *class;  /* Easy way of getting a bar of subclassed buttons      */
  358.     Object        *obj;    /* Filled when the button is created                    */
  359. };
  360.  
  361. /* flags */
  362. enum
  363. {
  364.     MUIV_TheBar_ButtonFlag_NoClick   = 1<<0, /* v11 MUIA_InputMode is MUIV_InputMode_None      */
  365.     MUIV_TheBar_ButtonFlag_Immediate = 1<<1, /* v11 MUIA_InputMode is MUIV_InputMode_Immediate */
  366.     MUIV_TheBar_ButtonFlag_Toggle    = 1<<2, /* v11 MUIA_InputMode is MUIV_InputMode_Toggle    */
  367.     MUIV_TheBar_ButtonFlag_Disabled  = 1<<3, /* v11 MUIA_Disabled is TRUE                      */
  368.     MUIV_TheBar_ButtonFlag_Selected  = 1<<4, /* v11 MUIA_Selected is TRUE                      */
  369.     MUIV_TheBar_ButtonFlag_Sleep     = 1<<5, /* v11 MUIA_ShowMe is FALSE                       */
  370.     MUIV_TheBar_ButtonFlag_Hide      = 1<<6, /* v11 MUIA_ShowMe is FALSE                       */
  371. };
  372.  
  373. /* Special img values */
  374. #define MUIV_TheBar_End            ((ULONG)-1) /* v11 Ends a MUIS_TheBar_Button array    */
  375. #define MUIV_TheBar_BarSpacer      ((ULONG)-2) /* v11 Add a spacer                       */
  376. #define MUIV_TheBar_ButtonSpacer   ((ULONG)-3) /* v11 Add a space spacer                 */
  377. #define MUIV_TheBar_ImageSpacer    ((ULONG)-4) /* v11 Add an image  spacer               */
  378.  
  379. /* Returned by MUIM_TheBar_GetDragImage */
  380. struct MUIS_TheBar_DragImage
  381. {
  382.     ULONG                width;
  383.     ULONG                height;
  384.     struct BitMap        *bitMap;
  385.     struct MUI_DragImage *di;       /* Defined in muiundoc.h */
  386.     ULONG                dummy[8];  /* Avoid recompilation   */
  387. };
  388.  
  389. /***********************************************************************/
  390.  
  391. #endif /* THEBAR_MCC_H */
  392.